Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

151
Visualizações
Token inesperado en PropTypes (esperado ",")

En el siguiente código:

 import React from 'react'; import { Avatar, Menu, MenuItem, Tooltip, Box, } from '@mui/material'; import PropTypes from 'prop-types'; // eslint-disable-next-line no-unused-vars import { positions } from '@mui/system'; const menuItems = ['Test', 'Yes', 'No']; function PositionedMenu(props) { const [anchorEl, setAnchorEl] = React.useState(null); const open = Boolean(anchorEl); const { boxStyle: PropTypes.object} = props; ...

Recibo el siguiente error en la posición específica - PropTypes.object (donde valido boxStyles): Error de análisis: Token inesperado, esperado ",".

¿Por qué está pasando esto? Estoy usando React con eslint configurado para las opciones de airbnb.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Está desestructurando en esa línea, si desea establecer el valor predeterminado, debe usar = char y no :

const { boxStyle = PropTypes.object} = props;

Y sí, esta no es la forma de establecer propTypes. Aquí hay un ejemplo de documentos:

Basado en clases:

 import PropTypes from 'prop-types'; class Greeting extends React.Component { render() { return ( <h1>Hello, {this.props.name}</h1> ); } } Greeting.propTypes = { name: PropTypes.string };

Basado en funciones:

 import PropTypes from 'prop-types' function HelloWorldComponent({ name }) { return ( <div>Hello, {name}</div> ) } HelloWorldComponent.propTypes = { name: PropTypes.string } export default HelloWorldComponent

A veces, cuando configuramos props, pensamos que prop es solo del tipo object . Pero debido a muchos factores (por ejemplo, cómo obtenemos los datos y establecemos accesorios), un accesorio puede no estar undefined durante un período de tiempo inicial (muy corto) y luego definirse como un object una vez que se cargan los datos.

Para evitarlo puedes:

  1. Cambie la forma en que se suministran los datos y, por lo tanto, asegúrese de que la propiedad sea siempre un object .

  2. Permitir propTypes para ambos valores: undefined (para el momento inicial) y luego object también una vez que se carga. Aquí se explica cómo especificar varios propTypes (sin el uso de accesorios predeterminados):

 // An object that could be one of many types optionalUnion: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.instanceOf(Message) ]),
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede pasar boxStyle padre a componente hijo y usarlo.

 // Parent component function ParentComponent(props) { render( <childComponent boxStyle={{ background: 'red'}} /> ) } // Child Component function childComponent(props) { const { boxStyle } = props; const [anchorEl, setAnchorEl] = React.useState(null); const open = Boolean(anchorEl); } childComponent.propTypes = { boxStyle: PropTypes.object };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda